package cn.com.dhcc.ddi.task.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.com.dhcc.app.core.exception.DaoException;
import cn.com.dhcc.app.core.exception.ServiceException;
import cn.com.dhcc.app.core.service.BaseService;
import cn.com.dhcc.app.pub.CM;
import cn.com.dhcc.ddi.task.dao.TaskOntimeDao;
import cn.com.dhcc.ddi.task.vo.TaskOntime;

/**
 * 一次性任务服务类
 * @日期：2016/11/22 11:23:29
 * @作者：李博宇
 * @版权所有：东华软件
 * @版本：1.0
 */
@Service
public class OntimeService extends BaseService{

	@Autowired
	TaskOntimeDao taskOntimeDao;
	
	/**
	 * 添加或更新一次性任务
	 * @param ontime 一次性任务
	 * @throws ServiceException
	 */
	public void insertOrUpdateOntimeTask(TaskOntime ontime) throws ServiceException {
		try {
			CM.getDao().saveOrUpdateModuleByIdExecuteNull("添加或者修改用户信息", ontime);
		} catch (DaoException e) {
			throw new ServiceException(e);
		}
	}
	
	/**
	 * 根据id获取一次性任务
	 * @param id 一次性任务id
	 * @return   一次性任务
	 * @throws ServiceException
	 */
	public TaskOntime getOntimeTaskById(String id) throws ServiceException {
		try {
			return taskOntimeDao.getTaskOntime(id);
		} catch (DaoException e) {
			throw new ServiceException(e);
		}
	}
	
	/**
	 * 删除一次性任务
	 * @param  taskId 任务id
	 * @return 成功次数
	 * @throws ServiceException
	 */
	public int deleteByTaskId(String taskId) throws ServiceException {
		try {
			return taskOntimeDao.deleteByTaskId(taskId);
		} catch (DaoException e) {
			throw new ServiceException(e);
		}
	}
	/**
	 *
	 * @Title: insertOrUpdate
	 * @Description: 修改或者更新
	 * @param @param obj
	 * @param @throws DaoException    参数
	 * @return void    返回类型
	 * @throws
	 */
	public int insertOrUpdate(TaskOntime obj) throws ServiceException {
		try {
			return taskOntimeDao.insertOrUpdate(obj);
		} catch (DaoException e) {
			throw new ServiceException("更新任务失败", e);
		}
	}
}
